When addressing commands to different subsystems of a laboratory system, synchronization and coordination among subsystems are required to either avoid device collisions and/or to improve overall throughput and efficiency.
This has been solved in the past by predefining relations between subsystems. However, predefining such relations using system configurations or subsystem enquiries during operation of the system (e.g. motion of a robotic arm, activation of an actuator, status report) is either limited in capabilities and time consuming or requires dealing with multiple subsystem responses and thus increases the complexity of system control design.
Some known systems employ a command format design, wherein commands sent to a subsystem to be carried out followed by the subsystem reporting back a response upon completion of the command.
In addition a command format design has been in use, wherein commands sent to the subsystem may comprise a concatenation of instructions to be executed sequentially, one after the other. Concatenation of instructions thus allowing the subsystem to perform multiple operations sequentially prior to reporting a response. To address commands to other subsystems, the same method is performed addressing different subsystems (for example by using a subsystem identifier). Since there are no predefined relations specified among the subsystems, the user or higher level control system is responsible for coordinating the movements and manage all of the individual responses from the subsystems. As a conclusion, the complexity of the system increases substantially with more subsystems introduced into a system.
The problem is further aggravated in systems where subsystems are often added, removed or reconfigured.